Many types of user input devices are available for interacting with computing devices. Devices such as keyboards, keypads, mice, touchscreens, touchpads, styluses, and the like, offer users a variety of user input experiences. Each type of device is often characterized by its strengths for entering different types of user input. For example, keyboards are useful for rapid entry of individual characters when typing prose and programming code. Keypads are useful for easily entering numerical data and using applications such as spreadsheets and accounting packages. User input devices such as mice, touchscreens, touchpads, etc., are useful for interacting with dynamic graphical user interfaces that provide intuitive control of many types of application and operating system functionalities and settings. However, the speed and efficacy of all such input devices is often dependent on the experience and/or dexterity of the user.